package com.connector.base.connection;

import java.io.Serializable;

public class SessionContext implements Serializable
{
    private String osName;
    private String osVersion;
    private String deviceId;
    private String clientVersion;
    private String clientType;
    private String tags;
    private int heartbeat;
    private String userId;
    private String mobile;
    private long time1;
    private long time2;
    private String uuid;
    private String appid;
    private String cid;
    
    public SessionContext() {
        this.heartbeat = 10000;
        this.time1 = 0L;
        this.time2 = 0L;
    }
    
    public static SessionContext build() {
        return new SessionContext();
    }
    
    public SessionContext setUserId(final String userId) {
        this.userId = userId;
        return this;
    }
    
    public SessionContext setOsName(final String osName) {
        this.osName = osName;
        return this;
    }
    
    public SessionContext setOsVersion(final String osVersion) {
        this.osVersion = osVersion;
        return this;
    }
    
    public SessionContext setDeviceId(final String deviceId) {
        this.deviceId = deviceId;
        return this;
    }
    
    public SessionContext setClientType(final String clientType) {
        this.clientType = clientType;
        return this;
    }
    
    public SessionContext setClientVersion(final String clientVersion) {
        this.clientVersion = clientVersion;
        return this;
    }
    
    public SessionContext setTags(final String tags) {
        this.tags = tags;
        return this;
    }
    
    public SessionContext setHeartbeat(final int heartbeat) {
        this.heartbeat = heartbeat;
        return this;
    }
    
    public SessionContext setMobile(final String mobile) {
        this.mobile = mobile;
        return this;
    }
    
    public SessionContext setTime1(final long time1) {
        this.time1 = time1;
        return this;
    }
    
    public SessionContext setTime2(final long time2) {
        this.time2 = time2;
        return this;
    }
    
    public void setUuid(final String uuid) {
        this.uuid = uuid;
    }
    
    public void setAppid(final String appid) {
        this.appid = appid;
    }
    
    public String getAppid() {
        return this.appid;
    }
    
    public void setCid(final String cid) {
        this.cid = cid;
    }
    
    public String getCid() {
        return this.cid;
    }
    
    public String getOsName() {
        return this.osName;
    }
    
    public String getOsVersion() {
        return this.osVersion;
    }
    
    public String getDeviceId() {
        return this.deviceId;
    }
    
    public String getClientVersion() {
        return this.clientVersion;
    }
    
    public String getClientType() {
        return this.clientType;
    }
    
    public String getTags() {
        return this.tags;
    }
    
    public int getHeartbeat() {
        return this.heartbeat;
    }
    
    public String getUserId() {
        return this.userId;
    }
    
    public String getMobile() {
        return this.mobile;
    }
    
    public long getTime1() {
        return this.time1;
    }
    
    public long getTime2() {
        return this.time2;
    }
    
    public String getUuid() {
        return this.uuid;
    }
    
    @Override
    public String toString() {
        return "SessionContext(osName=" + this.getOsName() + ", osVersion=" + this.getOsVersion() + ", deviceId=" + this.getDeviceId() + ", clientVersion=" + this.getClientVersion() + ", clientType=" + this.getClientType() + ", tags=" + this.getTags() + ", heartbeat=" + this.getHeartbeat() + ", userId=" + this.getUserId() + ", mobile=" + this.getMobile() + ", time1=" + this.getTime1() + ", time2=" + this.getTime2() + ", uuid=" + this.getUuid() + ", appid=" + this.getAppid() + ", cid=" + this.getCid() + ")";
    }
}
